Natalie Mayer
  • Home
  • Portfolio
  • Resume

On this page

  • 1 Overview
  • 2 Data
  • 3 Load & Clean Data
  • 4 Principal Component Analysis
    • 4.1 Biplot
    • 4.2 Screeplot
  • 5 Summary

Coastal Alaska Arctic Cod Survey

Author

Natalie Mayer

Arctic Cod. National Geographic

National Oceanic and Atmospheric Administration

1 Overview

Fish surveys were conducted near Pt. Barrow, Alaska to “measure seasonal changes in the distribution, demographics, trophic position and nutritional status of forage fish during the partial and complete ice-free season.” A variety of climate and water conditions were measured in addition to the fish count. The following analysis focuses on Arctic Cod (Boreogadus saida), and how its abundance varied with physical conditions such as: time of day, latitude, longitude, ocean surface temperature, ocean surface salinity, and windspeed.

2 Data

National Oceanic and Atmospheric Administration. (December 1, 2023). AFSC/ABL: ACES-SHELZFZ (Arctic Coastal Ecosystem Survey AND Shelf Habitat and EcoLogy of Fish and Zooplankton) Catch Database. https://catalog.data.gov/dataset/afsc-abl-aces-shelfz-arctic-coastal-ecosystem-survey-and-shelf-habitat-and-ecology-of-fish-and-1

Pt. Barrow, Alaska. Ice Observatories

Arctic Food Chain. Science Facts

3 Load & Clean Data

Code
library(tidyverse)
library(here)
library(ggfortify)
library(kableExtra)

fish <- read_csv(here('data', 'fish.csv'))
event <- read_csv(here('data', 'event.csv'))
Code
event_df <- event %>%
  separate(start_time, c("idk", "start_time"), " ") %>%
  select(start_time, start_lat, start_long, surface_temp, surface_sal,  
         wind_speed, date = enviro_conditions_dbformat) %>%
  mutate(date = as.character(date)) 

fish_df <- fish %>%
  select(date, field_ssp) %>%
  mutate(date = as.character(date)) %>%
  mutate(yes = as.numeric(1)) %>%
  pivot_wider(names_from = field_ssp,
              values_from = yes,
              values_fn = sum) %>%
  janitor::clean_names()
Code
df <- inner_join(event_df, fish_df, by = "date")
Code
arctic_cod_df <- df %>%
  select(start_time, start_lat, start_long, surface_temp, surface_sal, wind_speed, date, arctic_cod) %>%
  drop_na()

4 Principal Component Analysis

Code
arctic_cod_pca <- arctic_cod_df %>%
  select(where(is.numeric)) %>%
  prcomp(scale = TRUE)
Code
arctic_cod_pca$rotation %>%
  kbl() %>%
  kable_classic()
PC1 PC2 PC3 PC4 PC5 PC6
start_lat -0.5067624 -0.2978302 0.3725859 0.0899139 -0.4400544 0.5603002
start_long -0.4171530 -0.5083405 0.2658369 0.0467316 0.2007594 -0.6741037
surface_temp 0.1652033 -0.5353781 -0.6023213 -0.2166856 -0.5151865 -0.1044861
surface_sal -0.3212354 0.5846211 -0.0436958 0.0687539 -0.6004818 -0.4333719
wind_speed 0.4898767 -0.1544633 0.2308962 0.7770514 -0.2552834 -0.1177721
arctic_cod 0.4457709 -0.0248330 0.6103254 -0.5781375 -0.2736468 -0.1380181

4.1 Biplot

Code
autoplot <- autoplot(
  arctic_cod_pca, 
  data = arctic_cod_df, 
  loadings = TRUE,
  color = "arctic_cod", 
  loadings.label = TRUE, 
  loadings.color = "black", 
  loadings.label.color = "black", 
  loadings.label.vjust = -0.5 
)

autoplot + 
  scale_color_gradient(low = "gold", high = "green4") +
  labs(x = "Principal Component 1 (39.67%)", y = "Principal Component 2 (29.09%)", color = "Observed \nArctic Cod") +
  theme_minimal() +
  theme(axis.title.x = element_text(vjust = -0.2), 
        legend.title = element_text())
Figure 1: Biplot of arctic cod abundance, ocean surface salinity, latitude, longitude, wind speed, and ocean surface temperature

4.2 Screeplot

Code
screeplot(arctic_cod_pca, type = 'barplot')
Figure 2: Screeplot for Principal Component Analysis on arctic cod abundance, ocean surface salinity, latitude, longitude, wind speed, and ocean surface temperature.

5 Summary

The screeplot shows that Principal Components 1 and 2 describe most of the variance in the data. According to the biplot, Principal Component 1 describes 39.67% and Principal Component 2 describe 29.09% of the variance in the data. Principal Component 1 is correlated with 50% latitude, 49% wind speed, 45% arctic cod abundance, 42% longitude, 32% surface salinity, and 16.5% surface temperature. Principal Component 2 is correlated with 58.5% surface salinity, 53.5% surface temperature, 51% longitude, 30% latitude, 15.5% wind speed, and 2.5% arctic cod abundance. In the biplot, surface salinity and surface temperature form a nearly 180 degree angle, showing that colder seawater is more saline than warmer seawater. The number of arctic cod individuals observed appears to correspond to the wind speed on the day of the survey. A possible explanation for this correlation is that greater wind speeds cause larger waves, increasing turbidity and the circulation of nutrients, and attracting more fish.